package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 车辆出入订单对象 datax_biz_order
 * 
 * @author ruoyi
 * @date 2022-10-18
 */
public class DataxBizOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 同一次车辆出入主键 */
    private String id;

    /** 停车场编号 */
    @Excel(name = "停车场编号")
    private String parkNo;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String plateNo;

    /** 车辆进场时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆进场时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inTime;

    /** 车辆离场时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "车辆离场时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveTime;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String tradeNo;

    /** 支付编号 */
    @Excel(name = "支付编号")
    private String payNo;

    /** 实缴金额 */
    @Excel(name = "实缴金额")
    private Integer totalFee;

    /** 应缴金额 */
    @Excel(name = "应缴金额")
    private Integer serviceFee;

    /** 道闸编号 */
    @Excel(name = "道闸编号")
    private String gateNo;

    /** 1:待支付；2：支付成功；3：支付失败;4:无费用出场 */
    @Excel(name = "1:待支付；2：支付成功；3：支付失败;4:无费用出场")
    private Integer status;

    /** 订单生成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单生成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    /** 支付结果更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付结果更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 停车场名称 */
    @Excel(name = "停车场名称")
    private String parkName;

    /** 订单类型：1：无感支付；2：扫码支付;3:代扣 */
    @Excel(name = "订单类型：1：无感支付；2：扫码支付;3:代扣")
    private Integer type;

    /** 代扣确认标记，0：未确认；1：已确认 */
    @Excel(name = "代扣确认标记，0：未确认；1：已确认")
    private Integer flag;

    /** 主动支付响应 */
    @Excel(name = "主动支付响应")
    private String resPay;

    /** 支付通知响应 */
    @Excel(name = "支付通知响应")
    private String resPayNotify;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setParkNo(String parkNo) 
    {
        this.parkNo = parkNo;
    }

    public String getParkNo() 
    {
        return parkNo;
    }
    public void setPlateNo(String plateNo) 
    {
        this.plateNo = plateNo;
    }

    public String getPlateNo() 
    {
        return plateNo;
    }
    public void setInTime(Date inTime) 
    {
        this.inTime = inTime;
    }

    public Date getInTime() 
    {
        return inTime;
    }
    public void setLeaveTime(Date leaveTime) 
    {
        this.leaveTime = leaveTime;
    }

    public Date getLeaveTime() 
    {
        return leaveTime;
    }
    public void setTradeNo(String tradeNo) 
    {
        this.tradeNo = tradeNo;
    }

    public String getTradeNo() 
    {
        return tradeNo;
    }
    public void setPayNo(String payNo) 
    {
        this.payNo = payNo;
    }

    public String getPayNo() 
    {
        return payNo;
    }
    public void setTotalFee(Integer totalFee)
    {
        this.totalFee = totalFee;
    }

    public Integer getTotalFee()
    {
        return totalFee;
    }
    public void setServiceFee(Integer serviceFee)
    {
        this.serviceFee = serviceFee;
    }

    public Integer getServiceFee()
    {
        return serviceFee;
    }
    public void setGateNo(String gateNo) 
    {
        this.gateNo = gateNo;
    }

    public String getGateNo() 
    {
        return gateNo;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setOrderTime(Date orderTime) 
    {
        this.orderTime = orderTime;
    }

    public Date getOrderTime() 
    {
        return orderTime;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setParkName(String parkName) 
    {
        this.parkName = parkName;
    }

    public String getParkName() 
    {
        return parkName;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setFlag(Integer flag) 
    {
        this.flag = flag;
    }

    public Integer getFlag() 
    {
        return flag;
    }
    public void setResPay(String resPay) 
    {
        this.resPay = resPay;
    }

    public String getResPay() 
    {
        return resPay;
    }
    public void setResPayNotify(String resPayNotify) 
    {
        this.resPayNotify = resPayNotify;
    }

    public String getResPayNotify() 
    {
        return resPayNotify;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("parkNo", getParkNo())
            .append("plateNo", getPlateNo())
            .append("inTime", getInTime())
            .append("leaveTime", getLeaveTime())
            .append("tradeNo", getTradeNo())
            .append("payNo", getPayNo())
            .append("totalFee", getTotalFee())
            .append("serviceFee", getServiceFee())
            .append("gateNo", getGateNo())
            .append("status", getStatus())
            .append("orderTime", getOrderTime())
            .append("payTime", getPayTime())
            .append("parkName", getParkName())
            .append("type", getType())
            .append("flag", getFlag())
            .append("resPay", getResPay())
            .append("resPayNotify", getResPayNotify())
            .toString();
    }
}
